package com.web.kftsdk.bean;

/**
 * <p>Title: TradeFailEnum</p>
 * <p>Description:支付交易失败详情列表</p>
 *
 * @author xukk
 * @version 1.0
 * @date 2018/6/12
 */
public enum TradeFailEnum implements IEnum {
    E1003("1003","该接口暂不支持"),
    E1004("1004","调用渠道服务异常"),
    E1005("1005","调用核心服务异常"),
    E1006("1006","请求太频繁"),
    E1007("1007","调用清结算异常"),
    E2001("2001","参数校验未通过"),
    E2002("2002","字符串替换错误"),
    E2003("2003","请求参数转换错误"),
    E2004("2004","请求参数为空"),
    E3001("3001","请求商户不存在"),
    E3002("3002","商户未开通该渠道权限"),
    E3003("3003","商户客户账户{}"),
    E3004("3004","商户状态为非生效状态"),
    E3005("3005","保存交易异常"),
    E3006("3006","登记交易失败"),
    E3007("3007","更新移动支付交易记录失败"),
    E3008("3008","更新移动支付交易记录不唯一"),
    E3009("3009","保存移动支付交易记录异常"),
    E3010("3010","保存移动支付交易记录异常"),
    E3011("3011","渠道返回结果异常"),
    E3012("3012","渠道通知状态为非终态"),
    E3013("3013","付款交易处理中"),
    E3014("3014","找不到交易id为{}的交易记录"),
    E3015("3015","此交易不是S0交易"),
    E3016("3016","S0交易状态不是待处理状态"),
    E3017("3017","找不到S0付款对应的产品编号"),
    E3018("3018","找不到对应交易的产品编号"),
    E3019("3019","授权码格式不正确"),
    E3020("3020","找不到对应的支付渠道"),
    E3021("3021","商户[{}]未配置S0结算信息"),
    E3022("3022","商户S0结算状态不可用"),
    E3023("3023","商户[{}]未配置S0结算费率"),
    E3024("3024","商户未配置结算账户"),
    E3025("3025","s0付款金额计算错误"),
    E3026("3026","商户未开通此业务"),
    E3027("3027","账户ID为{}的客户不是商户"),
    E3028("3028","账户ID为{}的客户不是一级商户"),
    E3029("3029","账户ID为{}的客户，商户类型错误"),
    E3030("3030","二级商户ID不能为空"),
    E3031("3031","找不到id为{}对应的二级商户信息"),
    E3032("3032","未开通S0权限"),
    E3033("3033","暂不支持S0交易"),
    E3034("3034","此交易不支持支付宝支付"),
    E3035("3035","支付渠道为空"),
    E3036("3036","支付渠道无法判断，请指定支付渠道"),
    E3037("3037","交易非终态，无法登记结果"),
    E3038("3038","渠道返回结果不完整"),
    E3040("3040","交易超时失败"),
    E3041("3041","上游渠道错误"),
    E3042("3042","快付通内部错误"),
    E3043("3043","交易不存在"),
    E3044("3044","担保交易不能同时为S0交易"),
    E3045("3045","未开通担保交易权限"),
    E3046("3046","至少有一个分账方"),
    E3047("3047","分账金额不能为空或零"),
    E3048("3048","分账方账号不能为空"),
    E3049("3049","分账金额之和与本次交易金额不相等"),
    E3050("3050","商户类型不支持分账交易"),
    E3051("3051","未开通分账交易权限"),
    E3052("3052","交易太频繁"),
    E3053("3053","分账方商户状态异常"),
    E3054("3054","分账方不符合业务规则"),
    E3055("3055","交易确认金额超过原担保交易金额"),
    E3056("3056","未找到商户记账账户，如是担保交易请联系快付通客服开通担保户"),
    E3059("3059","公众号支付原预支付订单超时或不存在"),
    E3060("3060","公众号支付下级商户appid不能为空"),
    E3061("3061","公众号支付下级openid不能为空"),
    E3100("3100","订单编号重复，系统拒绝处理"),
    E3101("3101","交易订单不存在"),
    E3103("3103","原交易不存在"),
    E3104("3104","订单号重复"),
    E3105("3105","只能对支付成功的订单进行退款"),
    E3106("3106","当前日余额不足"),
    E3107("3107","原交易已经超过退款日期"),
    E3108("3108","商户{}原交易金额不足退款"),
    E3114("3114","原交易S0/T0交易不允许退款"),
    E3109("3109","只可下载当前日期之前的对账文件"),
    E3110("3110","尚未完成对账"),
    E3111("3111","下载对账文件出错"),
    E3112("3112","账务日期格式不符合YYYYMMDD"),
    E3113("3113","该账务日期无交易记录"),
    E3115("3115","商户开通T0交易不允许退款"),
    E3116("3116","生成对账文件出错"),
    E3117("3117","对账文件处理日期错误"),
    E3118("3118","该账务日期不存在对账文件"),
    E3119("3119","该账务日期对账文件未生成"),
    E3120("3120","无相关短信快捷支付申请记录"),
    E3121("3121","当前状态不允许进行短信快捷支付确认操作"),
    E3122("3122","订单号与绑定手机号不匹配"),
    E3123("3123","未找到结算账号相关信息"),
    E3124("3124","未找到S0设置相关信息"),
    E3125("3125","原交易不是担保交易"),
    E3126("3126","分账金额总和与退款金额不相等"),
    E3127("3127","原交易分账信息未找到"),
    E3128("3128","分账信息与原交易分账信息不一致"),
    E3129("3129","退款信息(分账标识或担保标识)与原交易不一致"),
    E3130("3130","非分账交易，不允许上传分账交易信息"),
    E3131("3131","原退款交易不存在"),
    E3132("3132","只能对等等退款中的交易进行退款撤销"),
    E4001("4001","抱歉，当前交易超出S0交易时间"),
    E4002("4002","抱歉，当前交易超出T0交易时间"),
    E4003("4003","抱歉，当前交易超出T1交易时间"),
    E4004("4004","交易时间检查异常"),
    E4005("4005","交易时间检查通过"),
    E4006("4006","交易限额检查异常"),
    E4007("4007","抱歉，当前交易超出担保取消交易时间"),
    E4010("4010","交易限额检查通过"),
    E4011("4011","抱歉，交易金额超限"),
    E4012("4012","风控规则不存在"),
    E4013("4013","抱歉，交易金额小于s0最小交易金额"),
    E4014("4014","抱歉，交易金额小于t0最小交易金额"),
    E5001("5001","原交易非成功担保交易"),
    E5002("5002","非分账交易不允许包含分账方信息"),
    E5003("5003","原交易担保状态为已确认或已取消"),
    E5004("5004","分账交易未包含分账方信息"),
    E5005("5005","分账方商户不能重复"),
    E5006("5006","担保交易无需上送分账方"),
    E5007("5007","担保交易未确认");
    private String desc;

    private String code;

    TradeFailEnum( String code,String desc) {
        this.desc = desc;
        this.code = code;
    }

    @Override
    public String getDesc() {
        return desc;
    }

    @Override
    public String getCode() {
        return code;
    }
}
